iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 4
1
自我挑戰組

卡牌連線遊戲開發經驗分享系列 第 4

#4 教練,我想寫卡牌遊戲

  • 分享至 

  • xImage
  •  

前兩天談到的部份,算是程式領域裡面很大的硬傷。雖然為了避免系統變得越來越複雜,人們提出各式各樣的改善方案,像是物件導向設計、資料封裝、降低耦合度、事件驅動、設計模式、軟體工程、敏捷軟體開發、DSL… 當然也有一派走比較學術路線的,就走向了推理引擎、規則引擎、專家系統、自然語言分析…

對於當時還是無知新手的我來說,被一堆沒聽過的專有名詞轟炸的時候,除了腦袋冒煙以外,好像也沒別的辦法了。這似乎也是程式領域變成深水坑的原因:為了解決問題開發出來的工具,反而學習曲線變得更陡,新手越來越難一窺全貌。

在另一個平行時空,同樣是沒碰過程式的新手,透過 VB.NET 把他的遊戲成品寫出來了,沒有美術、圖形介面有點醜、沒辦法連線對戰。
「什麼?!業界沒有人在用 VB 開發程式的啦」
「VB 跑很慢啦,VB 不好啦,C/C++, java 才是正統,你應該要用這個才對」
在很多年之後我才慢慢認清,業界瀰漫著一種看不見的鄙視鏈[1]、程式語言的宗教戰爭 [2],在無形之中阻礙了我往前

如果回到當初,我會給那個想要寫卡牌遊戲的男孩以下幾點建議:

  1. 選擇程式社群最龐大的語言下去開發,因為他們是陪伴你度過困難的盟友。
  2. 不要把自己侷限在中文的環境,外面有更大片的海洋。
  3. 結果永遠比過程還重要,這世界是看結果的。先把第一版生出來再說
  4. 勇敢發問,沒爬過文一樣可以發問!
  5. 勇於分享,你的經驗對於其他人有非常大的幫助
  6. 不要害怕犯錯,犯錯是前進最快的方式

關於第四點是我感觸很深的一點,現在老手常對新手的話就是「你不會咕狗喔」、「去看文件」。
發問永遠是解決問題最快的方法,即使是最資深的工程師,遇到問題一樣會選擇用面對面溝通的方式解決問題。溝通能處理非常多潛在問題,溝通是程式員很重要的素養。

接下來大致分享一個從無到有開發遊戲的人會遇到哪些困難?套用現成遊戲引擎比較不是我想講的部份,我希望可以講一些底層運作的機制。系列最後,希望可以復刻「爐石戰記」裡面出現的一些遊戲機制,讓大家體驗卡牌遊戲開發的感覺。

[1] https://vinta.ws/blog/695 軟體工程師的鄙視鏈(程序员的鄙视链)
[2] https://tw.alphacamp.co/blog/2015-10-20-dont-be-too-religious-in-programing 淺談程式設計派系對立造成的負面影響


上一篇
#3 為什麼 if-else 越寫越複雜?
下一篇
#5 如何開始遊戲開發?
系列文
卡牌連線遊戲開發經驗分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言